home *** CD-ROM | disk | FTP | other *** search
/ MASPC 1 / MASPC_1.iso / Demos / Demo DIV / DATA / PRG / TUTOR / TUTOR1A.PRG < prev    next >
Encoding:
Text File  |  1997-11-27  |  2.2 KB  |  65 lines

  1.  
  2. //-------------------------------------------------------------------
  3. // Programa: Tutorial 1
  4. // Autor:    Antonio Marchal
  5. // Fecha:    10/10/97
  6. //-------------------------------------------------------------------
  7.  
  8. PROGRAM Tutorial_1;
  9. BEGIN
  10.     // Se carga el archivo de gráficos necesario
  11.     load_fpg("tutorial\tutor1.fpg");
  12.     set_mode(m640x480); // Selecciona el modo de video 640 x 480
  13.     put_screen(0,63);   // Pone la pantalla de fondo
  14.     nave(320,240,41);   // Crea el proceso nave
  15.     // Crea con un bucle 4 asteroides grandes
  16.     FROM x=1 TO 8; asteroide(); END
  17. END
  18.  
  19. //-------------------------------------------------------------------
  20. // Proceso nave
  21. // Maneja la nave protagonista
  22. // Entradas: Coordenadas y código del gráfico
  23. //-------------------------------------------------------------------
  24.  
  25. PROCESS nave(x,y,graph)
  26. BEGIN
  27.     LOOP
  28.         // Comprueba si se pulsan las teclas de izquierda o derecha
  29.         // Y modifica el angulo si estan pulsadas
  30.         IF (key(_left)) angle=angle+10000; END
  31.         IF (key(_right)) angle=angle-10000; END
  32.         // Si se pulsa la tecla de arriba, la nave avanza
  33.         IF (key(_up)) advance(8); END
  34.         FRAME;  // Hace aparecer el gráfico de la nave en pantalla
  35.     END
  36. END
  37.  
  38. //-------------------------------------------------------------------
  39. // Proceso asteroide
  40. // Maneja todos los asteroides del juegos tanto grandes como pequeños
  41. //-------------------------------------------------------------------
  42.  
  43. PROCESS asteroide()
  44. BEGIN
  45.     LOOP
  46.         // Crea el asteroide en la esquina superior izquierda
  47.         // (Coordenadas: 0,0) y asigna el código de gráfico
  48.         x=0; y=0; graph=1;
  49.         // Elige un angulo al azar
  50.         angle=rand(-180000,180000);
  51.         // Repite mientras este en pantalla
  52.         WHILE (x>=0 AND x<=640 AND
  53.                y>=0 AND y<=480)
  54.             // Anima el gráfico, sumando uno a su código
  55.             graph=graph+1;
  56.             // Si sobrepasa el limite de la animación, la reinicia
  57.             IF (graph==21) graph=1; END
  58.             // Hace avanzar el gráfico en la direccion determinada
  59.             advance(4);
  60.             FRAME;      // Hace que el gráfico salga en pantalla
  61.         END
  62.     END
  63. END
  64.  
  65.